//package com.shu.common;
//
//import java.util.HashMap;
//import java.util.Map;
//
//import javax.servlet.ServletContext;
//
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.context.ApplicationListener;
//import org.springframework.context.event.ContextRefreshedEvent;
//import org.springframework.stereotype.Component;
//import org.springframework.web.context.ContextLoader;
//import org.springframework.web.context.WebApplicationContext;
//import org.springframework.web.context.annotation.ApplicationScope;
//
//import com.shu.service.SysRoleAuthorityService;
//import com.shu.service.SysUserRoleService;
//import com.shu.service.SysUserService;
//
///**
// * 容器加载完之后运行该类方法
// * 
// * 由于有两个容器，ioc容器和mvc容器，所以该方法会被运行两次
// * 
// * 第一次是加载ioc容器，第二次是加载mvc容器
// * 
// * 可通过event.getApplicationContext().getParent()来判断，当为null时，已加载ioc容器但未加载mvc容器
// * 
// * @author db2admin
// *
// */
//@Component
//public class InstantiationTracingBeanPostProcessor implements ApplicationListener<ContextRefreshedEvent> {
//
//
//	@Autowired
//	private SysUserService userService;
//	@Autowired
//	private SysUserRoleService userRoleService;
//	@Autowired
//	private SysRoleAuthorityService roleAuthorityService;
//	
//
//	@Override
//	public void onApplicationEvent(ContextRefreshedEvent event) {
//		if (event.getApplicationContext().getParent() != null) {
//			WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext();
//			ServletContext application = webApplicationContext.getServletContext();
//			//mvc容器加载完毕运行该方法
//			initUser();
//		}
//	}
//
//	@SuppressWarnings("unchecked")
//	private void initUser() {
//		System.out.println("-----开始载入所有用户---");
//		application.setAttribute(Constant.USER_HEADER_MAP, userService.getAllUserHeaderMap());
//		System.out.println("-----载入所有用户成功---");
//		System.out.println("-----开始载入所有粉丝数据---");
//		application.setAttribute(Constant.USER_FANS_MAP, fansService.getAllUserAuthorMap());
//		ApplicationScope.USER_AUTHOR_MAP = (Map<Integer, HashMap<Integer, Integer>>)application.getAttribute(Constant.USER_FANS_MAP);
//		System.out.println("-----载入所有粉丝数据成功---");
//	}
//	
//	
//}